/**
 * 进程参数:设置
 * @param mix string|json 设置的KEY  json:多个
 * @param val mixed|null 值  mix=json时:忽略
 * 		根据KEY强制转类型, 不忽略, 不抛出异常
 */
$.argsSet = function(mix, val){
	const REG=/^[a-z0-9_]+$/i, SET=(k,v,n=0)=>{
		if(REG.test(n?k.slice(n):k)) $.__args[k]=v;
		else $.err('$.argsSet.key.void',k,{fix:2});
	};
	$.argsSet = function(mix, val){
		if(typeof mix==='object'){
			const s = k=>$.argsSet(k,mix[k]);
			Object.keys(mix).forEach(s); return;
		}
		if(mix==='-') $.__args['-'] = val+'';
		else if(mix[0]!=='-') SET(mix,val+'');
		else if(mix[1]==='-') SET(mix,!!val,2);
		else{
			let v=!!val, i=1, n=mix.length;
			for(; i<n; i++) SET('-'+mix[i],v,1);
		}
	};
	return $.argsSet(mix, val);
};
